#define E820_DEBUG 1
-static void __init print_memory_map(void)
+#ifndef NDEBUG
+#define __init_unless_debugging
+#else
+#define __init_unless_debugging __init
+#endif
+
+void __init_unless_debugging
+print_e820_memory_map(struct e820entry *map, int entries)
{
int i;
- for (i = 0; i < e820.nr_map; i++) {
+ for (i = 0; i < entries; i++) {
printk(" %016Lx - %016Lx ",
- e820.map[i].addr,
- e820.map[i].addr + e820.map[i].size);
- switch (e820.map[i].type) {
+ map[i].addr,
+ map[i].addr + map[i].size);
+ switch (map[i].type) {
case E820_RAM: printk("(usable)\n");
break;
case E820_RESERVED:
case E820_NVS:
printk("(ACPI NVS)\n");
break;
- default: printk("type %u\n", e820.map[i].type);
+ default: printk("type %u\n", map[i].type);
break;
}
}
clip_4gb();
}
-unsigned long init_e820(struct e820entry *raw, int raw_nr)
+unsigned long __init init_e820(struct e820entry *raw, int raw_nr)
{
machine_specific_memory_setup(raw, raw_nr);
printk(KERN_INFO "Physical RAM map:\n");
- print_memory_map();
+ print_e820_memory_map(e820.map, e820.nr_map);
return find_max_pfn();
}
e820p = (struct e820entry *) ((unsigned long) p + offset);
+#ifndef NDEBUG
+ print_e820_memory_map(e820p, n);
+#endif
+
for (i = 0; i < n; i++) {
if (e820p[i].type == E820_SHARED_PAGE) {
gpfn = (e820p[i].addr >> PAGE_SHIFT);
extern unsigned long init_e820(struct e820entry *, int);
extern struct e820map e820;
+#ifndef NDEBUG
+extern void print_e820_memory_map(struct e820entry *map, int entries);
+#endif
+
#endif /*!__ASSEMBLY__*/
#define PFN_DOWN(x) ((x) >> PAGE_SHIFT)